fix(native-eval): rebootstrap replacement leases - #58
Conversation
|
Codex review: needs maintainer review before merge. Reviewed August 3, 2026, 5:05 AM ET / 09:05 UTC. ClawSweeper reviewWhat this changesThe PR ties native-evaluation bootstrap reuse to the active Crabbox lease ID and adds a regression test for recovery after a lease replacement. Merge readinessThis member-authored PR remains necessary: current Priority: P2 Review scores
Verification
How this fits togetherThe native-evaluation fleet controller resumes benchmark runs from a persistent run index and dispatches them onto Crabbox leases. Before dispatching to a machine with no remote run state, it decides whether to hydrate the runner, task archive, and provider environment; this PR makes that decision lease-specific. flowchart LR
A[Persistent run index] --> B[Recovery controller]
B --> C[Active Crabbox lease]
C --> D[Remote run-state probe]
D --> E{Bootstrap lease matches?}
E -->|No| F[Hydrate runner and tasks]
E -->|Yes| G[Reuse hydrated lease]
F --> H[Dispatch benchmark harness]
G --> H
Before merge
Agent review detailsSecurityNone. Review metrics
Root-cause clusterRelationship: Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Adopt lease identity as the durable bootstrap invariant, preserving the conservative one-time hydration path for legacy manifests and the existing successful recovery behavior for leases that already match. Do we have a high-confidence way to reproduce the issue? Yes, at source level: a Is this the best way to solve the issue? Yes. Recording the identity of the lease that actually received bootstrap is the narrowest durable fix; a timestamp cannot establish that a replacement machine has the required runner and task contents. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against 884dd1bb5511. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (21 earlier review cycles; latest 8 shown)
|
What does this PR do?
Rehydrates replacement native-eval leases before dispatch.
Why?
The controller previously treated an old bootstrap timestamp as proof that a
new lease contained the runner. Recovery could then fail before the harness
started, producing a false benchmark failure.
Fixes #55
Changes
bootstrapped_lease_idLive proof
Recovered a legacy OpenClaw run whose manifest had an old bootstrap timestamp
but no
bootstrapped_lease_id.bootstrapped_lease_id4/4completed results0This is the exact recovery state the regression test covers; the controller no
longer trusts timestamp-only bootstrap state.
Tests